<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="zh" xml:lang="zh">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>概念: 原型</title>
<meta content="Concept" name="uma.type">
<meta content="prototypes" name="uma.name">
<meta content="原型" name="uma.presentationName">
<meta name="element_type" content="concept">
<meta content="description" name="filetype">
<meta name="role" content="">
<link type="text/css" href="./../../../css/default.css" rel="StyleSheet">
<script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageResource.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageSection.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageSubSection.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/ContentPageToolbar.js"></script><script language="JavaScript" type="text/javascript" src="./../../../scripts/contentPage.js"></script><script language="JavaScript" type="text/javascript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=[{view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_zRigkAILEdq-_NKqZM1EhA", "_qwxC8N7YEdmjRZts2c4ZjQ", "{4AC346F0-E6FC-4D2C-8410-2EDF8DDDC91D}", "6.334848481235948E-305"]}, {view: "view:_LVCagP5WEdmAzesbYywanQ", path: ["_LVCagP5WEdmAzesbYywanQ", "_zRigkAILEdq-_NKqZM1EhA", "_QV4x0AISEdqTna4sZVFRow", "_kjFBYN7HEdm8G6yT7-Wdqw", "{3DF10D00-8C80-4429-92B8-C6A221F0F90C}", "6.334848481235948E-305"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_f6_YwN7DEdmsEI4YDGX2ag", "_qwxC8N7YEdmjRZts2c4ZjQ", "{4AC346F0-E6FC-4D2C-8410-2EDF8DDDC91D}", "6.334848481235948E-305"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_Jvt1cAIaEdqEutyfYo0quQ", "_EOvXUN7HEdm8G6yT7-Wdqw", "_kjFBYN7HEdm8G6yT7-Wdqw", "{3DF10D00-8C80-4429-92B8-C6A221F0F90C}", "6.334848481235948E-305"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_Jvt1cAIaEdqEutyfYo0quQ", "_jijhYAIaEdqEutyfYo0quQ", "_3lZjkCxqEdqYV4MWf8PiCw", "{3DF10D00-8C80-4429-92B8-C6A221F0F90C}", "6.334848481235948E-305"]}, {view: "view:_FCx1oN7CEdmsEI4YDGX2ag", path: ["_FCx1oN7CEdmsEI4YDGX2ag", "_jD8dUAIbEdqEutyfYo0quQ", "_vzRNgDIcEdqDs_9ORT1Rig", "6.334848481235948E-305"]}];
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="6.334848481235948E-305"></div>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td nowrap="true" class="pageTitle">概念：原型</td><td width="100%">
<div id="contentPageToolbar" align="right"></div>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="pageTitleSeparator"><img height="1" title="" alt="" src="./../../../images/shim.gif"></td>
</tr>
</table>
<div class="overview">
<table cellpadding="0" cellspacing="0" border="0" width="97%">
<tr>
<td width="50"><img title="" alt="" src="./../../../images/concept.gif"></td><td>
<table cellpadding="0" cellspacing="0" border="0" class="overviewTable">
<tr>
<td valign="top">原型是系统解决方案或部分系统解决方案的缩小型初始版本，它在短时间内构建并在一些迭代中进行了改进，用于测试和评估用来解决特定问题的整体设计的有效性。</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">关系</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr valign="top">
<th scope="row" class="sectionTableHeading">相关元素</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../core.base_rup/tasks/elicit_stakeholder_requests_97BE5D6E.html" guid="{EAEF65F0-E9CA-45B2-A875-47E66B3FDBC6}">引发项目干系人请求</a>
</li>
<li>
<a href="./../../../core.base_rup/roles/rup_software_architect_DB0BF177.html" guid="{4AC346F0-E6FC-4D2C-8410-2EDF8DDDC91D}">软件设计人员</a>
</li>
<li>
<a href="./../../../core.base_rup/tasks/construct_arch_proof_145E3656.html" guid="{63D0BC8C-1FE9-48F7-9B03-B2394C11DCB5}">构造体系结构概念验证</a>
</li>
<li>
<a href="./../../../core.base_rup/tasks/prototype_user_interface_C495CB55.html" guid="{76F14467-3F63-4B22-B672-6EA69D0E6C46}">制作用户界面原型</a>
</li>
<li>
<a href="./../../../core.base_rup/workproducts/rup_user_interface_prototype_7237E5AA.html" guid="{3DF10D00-8C80-4429-92B8-C6A221F0F90C}">用户界面原型</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">主要描述</div>
<div class="sectionContent">
<table cellpadding="0" cellspacing="0" border="0" class="sectionTable">
<tr valign="top">
<td class="sectionTableSingleCell"><a id="Top" name="Top"></a><a id="XE_prototype__introduction_to" name="XE_prototype__introduction_to" class="index" key="原型（prototype）" text="演进方式原型"></a> 
<h3>
    <a id="How to Use" name="How to Use">使用方法</a>
</h3>
<p>
    原型以某种指定的方式用来降低风险。原型可以减少环境的不确定性：
</p>
<ul>
    <li>
        所开发的产品的商业生存能力
    </li>
    <li>
        关键技术的稳定性或性能
    </li>
    <li>
        项目投入或融资：建立小型概念验证原型
    </li>
    <li>
        对需求的了解
    </li>
    <li>
        产品外观和产品可使用性。
    </li>
</ul>
<p>
    原型可通过显示对于用户、客户和管理员来说具体而可执行的方式，来帮助为产品建立支持。
</p>
<p>
    但是，原型的性质和目标在它的整个生命期中都必须保持明确。如果不打算将原型发展成实际产品，就不要突然认定由于原型起作用，因此它应该成为最终产品。一个探索性的行为原型旨在非常快速地试验某个用户界面，而很少发展成强大、灵活的产品。
</p>
<h3>
    <a id="Types of Prototypes" name="Types of Prototypes">原型类型</a>
</h3>
<p>
    您可以按两种方式查看原型：“原型探索什么”和“原型如何发展或它们的结果是什么”。
</p>
<p>
    在第一个视图的环境（原型探索什么）中，主要有两种原型：
</p>
<ul>
    <li>
        <b>行为</b>原型，侧重于探索系统的特定行为。
    </li>
    <li>
        <b>结构</b>原型，探索某些体系结构或技术问题。
    </li>
</ul>
<p>
    在第二个视图的环境（原型结果）中，也有两种原型：
</p>
<ul>
    <li>
        <b>探索性</b>原型，它在完成后被抛弃，也称为抛弃原型。
    </li>
    <li>
        <b>演进式</b>原型，它逐渐发展为真正的系统。
    </li>
</ul>
<h3>
    <a id="XE_exploratory_prototype" name="XE_exploratory_prototype" class="index" key="探索性原型（exploratory prototype）"></a><a id="XE_prototype__exploratory_prototype" name="XE_prototype__exploratory_prototype"></a><a id="Exploratory Prototypes" name="Exploratory Prototypes">探索性原型</a>
</h3>
<p>
    探索性原型被设计成像一个小“试验”，来测试关于项目的某个关键假设（功能和／或技术）。它可能像几百行代码一样小，被创建用于测试关键软件或硬件组件的性能。或者它可能是某种阐明需求的方式，即一个被开发来确定开发人员是否了解特定行为或技术需求的小型原型。
</p>
<p>
    探索性原型倾向于有意“抛弃”，并且它们的测试倾向于非正式。探索性原型的设计倾向于非常不正式，同时倾向于最多由一个或两个开发人员进行。
</p>
<h3>
    <a id="XE_evolutionary_prototype" name="XE_evolutionary_prototype" class="index" key="演进方式原型（evolutionary prototype）"></a><a id="XE_prototype__evolutionary_prototype" name="XE_prototype__evolutionary_prototype"></a><a id="Evolutionary Prototypes" name="Evolutionary Prototypes">演进式原型</a>
</h3>
<p>
    演进式原型正如名称所示，从一个迭代发展到下一个迭代。它们的代码在最初时不具备生产质量，因而倾向于在产品的发展过程中再作返工。为了保持修改工作的可管理性，它们倾向于经过更正式的设计并适当接受正式的测试，甚至在早期阶段就如此。
    随着产品的发展，测试就像设计通常经历的一样，变得正式化。
</p>
<h3>
    <a id="XE_behavioral_prototype" name="XE_behavioral_prototype" class="index" key="行为原型（behavioral prototype）"></a><a id="XE_prototype__behavioral_prototype" name="XE_prototype__behavioral_prototype"></a><a id="Behavioral Prototypes" name="Behavioral Prototypes">行为原型</a>
</h3>
<p>
    行为原型倾向于采用探索性原型；它们没有试图重现所开发系统的体系结构，而是侧重于用户看到系统将做什么（“表面”）。 通常，这种原型是“<b>快速而随意</b>”，不依照项目标准构建。例如，Visual Basic 可用作建立原型的语言，而
    C++ 计划用于开发项目。探索性原型是暂时的，只投入最少的工作量，并且一旦实现它们的用途就被抛弃。
</p>
<h3>
    <a id="XE_prototype__structural_prototype" name="XE_prototype__structural_prototype"></a><a id="Structural Prototypes" name="Structural Prototypes">结构原型</a>
</h3>
<p>
    结构原型倾向于采用演进式原型；它们更可能使用最终系统的基础结构（“骨架”），并更可能发展成为真正的系统。如果原型是使用“生产”语言和工具集完成的，那么就会带来更多的优势：能够测试开发环境并让某些人员熟悉新工具和过程。
</p><br />
<br /></td>
</tr>
</table>
</div>
<table cellpadding="0" cellspacing="0" border="0" class="copyright">
<tr>
<td class="copyright"><p>
    &copy; &nbsp;Copyright IBM Corp.&nbsp;1987, 2006. &nbsp;All Rights Reserved.
</p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script language="JavaScript" type="text/javascript">
				contentPage.onload();
			</script>
</html>
